Preparation
【機器學習 2021】自編碼器 -Auto-encoder- -上- – 基本概念
Auto-encoder 也可算作是 Self-supervising Learning(又叫做 Pre-train,经过 Fine-tune 后模型就可已处理 Downstream Tasks)的一环(尽管它出现的比 Self-supervised Learning 更早)
Ontline
- Basic ldea of Auto-encoder
- Feature Disentanglement 解缠
- Discrete Latent 潜在 Representation 表示
- More Applications
high dim 的 old feature 经过 NN Encoder 后得到 low dim 的 Vector,再经过 NN Decoder 后得到新的图片,要求新的图片与旧的图片尽可能相近(重建 reconstruction)。
Auto-Encoder 可以用在 Dimension Reduction 中,这并不基于 DL。
- PCA:ML Lecture 13: Unsupervised Learning - Linear Methods - YouTube
- t-SNE:ML Lecture 15: Unsupervised Learning - Neighbor Embedding - YouTube
降维:假设高维的图像就这么几种变换(樊一翁的胡子),则可用低维向量把它们标记出来(樊一翁的头)。
早期的 Auto-encoder
De-noising Auto-encoder 是 Auto-encoder 的一个部分,用于图像降噪。
BERT 似乎也是一种 De-Noising Auto-Encoder,把 Mask 的部分当作 noise 来看。
【機器學習 2021】自編碼器 -Auto-encoder- -下- – 領結變聲器與更多應用
Encoder 产生的低维向量包含着源文件的特征信息。
Feature Disentangle
Feature Disentangle:把声音中产生的向量中的内容和音色的信息分离出来。
- [1904.05742] One-shot Voice Conversion by Separating Speaker and Content Representations with Instance Normalization (arxiv.org)
- [1804.02812] Multi-target Voice Conversion without Parallel Data by Adversarially Learning Disentangled Audio Representations (arxiv.org)
- [1905.05879] AUTOVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss (arxiv.org)
Feature Disentangle 的应用:Voice Conversion。
Speakers A and B are talking about completely different things.
Discrete Representation
把 Encoder 出来的向量用离散形式表示。
把 Encoder 出来的向量与 Codebook 中的向量比较,找出一个最接近的向量作为输入给 Decoder,以找到某些关键特征。
For speech, the codebook represents phonetic 语音 information 信息
把 Auto-Encoder 用在 Unsupervised Summarization 会不成功,因为产生的 word sequence 只有 Decoder 能看懂。
需要一个 Decoder 控制输出的 Summary 像个人样。
还可以把信息存在一个树中。
- [1806.07832] StructVAE: Tree-structured Latent Variable Models for Semi-supervised Semantic Parsing (arxiv.org)
- [1904.03746] Unsupervised Recurrent Neural Network Grammars (arxiv.org)
More Applications
Generator
把后一半部分拿出来当作 Generator。With some modification, we have variational auto-encoder (VAE).
- [1708.00838] An End-to-End Compression Framework Based on Convolutional Neural Networks (arxiv.org)
- [1703.00395] Lossy Image Compression with Compressive Autoencoders (arxiv.org)
Anomaly Detection
给一个训练集 ,判断输入 是否与训练集中的数据相似。
与二分类问题不同的是,数据集中并没有 anomaly 的数据
应用:
- 欺诈检测(正常刷卡行为/盗刷)
- 网络攻击检测(正常连线/攻击行为)
- 癌细胞检测(正常细胞/癌细胞)
是 normal 就可以 reconstructed。
如果是 anomaly,就不能被 Decoder 所 reconstructed。
Anomaly Detection
让机器"知之为知之,不知为不知,是知也"
给一个训练集 ,判断输入 是否与训练集中的数据相似。
异常样本 较少,不能把异常检测简单当作 Binary Classification 来看。
设计一个分类器,对于输入 ,输出分类 和自信评分 。
异常检测函数:
对于异常信息,自信评分分布会比较平均。
使用正确率评价异常检测不合理,因为异常的样本很少。一个机器什么都不做也可能获得高准确率。
给误判设定更大的惩罚:Cost Table
可能出现的问题,一些特定的异常图像获得很高的自信评分。
无标签的异常检测:找“Troll”
根据最大似然法找到异常分布的数据。
等高线就是 $\lambda $
使用 Auto-encoder,根据是否能 reconstruction 判断是否异常。
SVM 和 Isolated Forest 也可用于异常检测